note
	description: "Representa un avion"
	author: "Matias Varela y Mariano Rodecker"
	date: "$Date$"
	revision: "$Revision$"

class
	MIRAGE
	create
		make
	--Atributo de instancia
	feature {}
		modulo:MC72
	--Constructor
	feature make
		do
			create modulo.make
		end
	--Comandos
	feature Atacar_Objetivo(Objetivo:String)--Recibe como parametro el codigo del objetivo y realiza los pasos necesarios para atacarlo.
		local
			--Atributos locales para el manejo de excepciones.
			flag:INTEGER
			flagPrepMisil:BOOLEAN
			contador:INTEGER
		do
			if(not flagPrepMisil) then
				flag:=0
				modulo.Preparar_Misil
				--print("El misil se preparo correctamente%N")
				flag:=1
				modulo.Apuntar_Misil(Objetivo)
				--print("El misil se apunto correctamente%N")
				flag:=2
				modulo.Lanzar_Misil
				--print("El misil fue lanzado%N")
			end
		rescue
			if(flag=0)then
				flagPrepMisil:=true
				print("Preparar misil fallo, la operacion termina sin fallar")
				retry
			else if(flag=1)then
					contador:=contador+1
					if(contador<=5)then
						retry
					end
				end
			end
		end
end
